package com.portal.rabbitmq.demo.constants;

/**
 * 推送消息公共类
 *
 * @author Amadeus
 * @date 2022/06/29
 */
public class MessageConstants {

    public static final String EXCHANGE_NAME = "satisfaction.msg.ex";
    public static final String EXCHANGE_QUEUE = "SATISFACTION_MSG_QUEUE";
    public static final String ROUTING_KEY = "satisfactionKey";

    /**
     * 消息主体: 49-试驾满意度调查, 50-车辆交付满意度调查, 51-门店接待满意度调查
     */
    public static final Integer TEST_DRIVE = 49;
    public static final Integer DELIVERY = 50;
    public static final Integer DEPARTURE = 51;

    public static final String TEST_DRIVE_MSG = "对本次的试驾满意度调查, 点击这里->";
    public static final String DELIVERY_MSG = "对本次的车辆交付满意度调查, 点击这里->";
    public static final String DEPARTURE_MSG = "对本次的门店接待满意度调查, 点击这里->";

    public static final String TEST_DRIVE_JUMP = "对本次的试驾满意度调查, 点击这里->";
    public static final String DELIVERY_JUMP = "对本次的车辆交付满意度调查, 点击这里->";
    public static final String DEPARTURE_JUMP= "对本次的门店接待满意度调查, 点击这里->";

    public enum ReqFrom {
        /**
         * 消息类型 ID：1-互动通知;2-系统通知;3-订单类;4-活动类
         */
        COMMUNITY(1, "社区中心"),
        CAMPAIGNS(2, "活动中心"),
        MEMBER(3, "会员中心"),
        DDS(4, "DDS");

        private Integer code;
        private String name;

        ReqFrom(Integer code, String name) {
            this.code = code;
            this.name = name;
        }

        public Integer getCode() {
            return code;
        }

        public String getName() {
            return name;
        }
    }

    public enum Type {
        /**
         * 消息类型 ID：1-互动通知;2-系统通知;3-订单类;4-活动类
         */
        INTERACTION(1, "互动通知"),
        SYS_MSG(2, "系统通知"),
        ORDER_MSG(3, "订单类"),
        ACTIVITY(4, "活动类");

        private Integer code;
        private String name;

        Type(Integer code, String name) {
            this.code = code;
            this.name = name;
        }

        public Integer getCode() {
            return code;
        }

        public String getName() {
            return name;
        }
    }

    public enum Platform {
        /**
         * 平台类型枚举
         */
        APP("1", "APP"),
        WXMA("2", "小程序"),
        PC("3", "PC");

        private String code;
        private String name;

        Platform(String code, String name) {
            this.code = code;
            this.name = name;
        }

        public String getCode() {
            return code;
        }

        public String getName() {
            return name;
        }
    }

    public enum MessageType {
        /**
         * 消息分类
         */
        COUPLE_BACK(1, "反馈"),
        CONTENT(2, "内容"),
        BBS(3, "帖子"),
        ACTIVITY_PRINT(4, "活动晒图"),
        QUESTION(5, "问答-问题"),
        ANSWER(6, "问答-回答");

        private Integer code;
        private String name;

        MessageType(Integer code, String name) {
            this.code = code;
            this.name = name;
        }

        public Integer getCode() {
            return code;
        }

        public String getName() {
            return name;
        }
    }


    // 跳转类型：0：不跳转，1：小程序内部跳转，2：跳转外部网址，3：跳外部小程序
    public static class SkipType {
        // 不跳转
        public static final Integer NOT_SKIP = 0;
        // 小程序内部跳转
        public static final Integer WXMA_INSIDE = 1;
        // 跳转外部网址
        public static final Integer WEB_EXTERNAL = 2;
        // 跳外部小程序
        public static final Integer WXMA_EXTERNAL = 3;
    }


}
